/*
 * @(#)AlarmService.java 2009-11-12
 * 
 * Copy Right@ wumi
 */

package com.mstore.service.alarm;

/**
 * <pre>
 * 系统报警服务
 * 
 * @author xiongfei
 * 
 * @version 0.9
 * 
 * 修改版本: 0.9
 * 修改日期: 2009-11-12
 * 修改人 :  xiongfei
 * 修改说明: 初步完成
 * 复审人 ：
 * </pre>
 */
public interface AlarmService {

	/**
	 * 某主机通过管系统给管理员发送系统警报
	 * 
	 * @param host
	 *            主机地址
	 * @param subject
	 *            警报主题
	 * @param text
	 *            警报内容
	 */
	void sendMessage(String host, String subject, String text);

	/**
	 * 给管理员发送系统警报
	 * 
	 * @param subject
	 *            警报主题
	 * @param text
	 *            警报内容
	 */
	void sendMessage(String subject, String text);

	/**
	 * 给管理员发送系统警报
	 * 
	 * @param subject
	 *            警报主题
	 * @param text
	 *            警报内容
	 * @param ex
	 *            异常信息
	 */
	void sendMessage(String subject, String text, Throwable ex);

	/**
	 * 给管理员发送系统警报
	 * 
	 * @param to
	 *            收件人
	 * @param subject
	 *            警报主题
	 * @param text
	 *            警报内容
	 * @param ex
	 *            异常信息
	 */
	void sendMessage(String to, String subject, String text, Throwable ex);

	/**
	 * 发送mime邮件
	 * 
	 * @param subject
	 *            主题
	 * @param text
	 *            内容
	 */
	void sendMimeMessage(String subject, String text);

	/**
	 * 发送mime邮件
	 * 
	 * @param subject
	 *            主题
	 * @param text
	 *            内容
	 * @param to
	 *            收件人
	 */
	void sendMimeMessage(String subject, String text, String to);

	/**
	 * 获取管理员email地址
	 * 
	 * @return 管理员email地址
	 */
	String getAdminEmails();
}
